|
4 | 4 | from kitsune.sumo.tests import TestCase
|
5 | 5 | from kitsune.users.tests import GroupFactory, UserFactory
|
6 | 6 | from kitsune.wiki.handlers import DocumentListener
|
7 |
| -from kitsune.wiki.tests import DocumentFactory |
| 7 | +from kitsune.wiki.tests import ApprovedRevisionFactory, DocumentFactory, HelpfulVoteFactory |
8 | 8 |
|
9 | 9 |
|
10 | 10 | class TestDocumentListener(TestCase):
|
@@ -69,3 +69,50 @@ def test_multiple_documents(self):
|
69 | 69 |
|
70 | 70 | self.assertTrue(doc3.contributors.filter(id=other_contributor.id).exists())
|
71 | 71 | self.assertEqual(doc3.contributors.count(), 1)
|
| 72 | + |
| 73 | + def test_revision_user_fields_replacement(self): |
| 74 | + reviewer = UserFactory() |
| 75 | + contributor = UserFactory() |
| 76 | + rev1 = ApprovedRevisionFactory( |
| 77 | + creator=contributor, |
| 78 | + reviewer=reviewer, |
| 79 | + readied_for_localization_by=reviewer, |
| 80 | + ) |
| 81 | + rev2 = ApprovedRevisionFactory( |
| 82 | + creator=self.user, |
| 83 | + reviewer=reviewer, |
| 84 | + readied_for_localization_by=reviewer, |
| 85 | + ) |
| 86 | + rev3 = ApprovedRevisionFactory( |
| 87 | + creator=contributor, |
| 88 | + reviewer=self.user, |
| 89 | + readied_for_localization_by=self.user, |
| 90 | + ) |
| 91 | + |
| 92 | + self.listener.on_user_deletion(self.user) |
| 93 | + |
| 94 | + for rev in (rev1, rev2, rev3): |
| 95 | + rev.refresh_from_db() |
| 96 | + |
| 97 | + self.assertEqual(rev1.creator.username, contributor.username) |
| 98 | + self.assertEqual(rev1.reviewer.username, reviewer.username) |
| 99 | + self.assertEqual(rev1.readied_for_localization_by.username, reviewer.username) |
| 100 | + self.assertEqual(rev2.creator.username, settings.SUMO_BOT_USERNAME) |
| 101 | + self.assertEqual(rev2.reviewer.username, reviewer.username) |
| 102 | + self.assertEqual(rev2.readied_for_localization_by.username, reviewer.username) |
| 103 | + self.assertEqual(rev3.creator.username, contributor.username) |
| 104 | + self.assertEqual(rev3.reviewer.username, settings.SUMO_BOT_USERNAME) |
| 105 | + self.assertEqual(rev3.readied_for_localization_by.username, settings.SUMO_BOT_USERNAME) |
| 106 | + |
| 107 | + def test_helpfulvote_creator_replacement(self): |
| 108 | + voter = UserFactory() |
| 109 | + v1 = HelpfulVoteFactory(creator=voter) |
| 110 | + v2 = HelpfulVoteFactory(creator=self.user) |
| 111 | + |
| 112 | + self.listener.on_user_deletion(self.user) |
| 113 | + |
| 114 | + v1.refresh_from_db() |
| 115 | + v2.refresh_from_db() |
| 116 | + |
| 117 | + self.assertEqual(v1.creator.username, voter.username) |
| 118 | + self.assertEqual(v2.creator.username, settings.SUMO_BOT_USERNAME) |
0 commit comments